<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <style></style>
  </head>
  <body>
    <div>
      <h1>Set数据结构</h1>
      <p>1.Set内部成员不允许重复出现,值是唯一的</p>
      <p>2.add方法会返回集合对象本身,所以可以链式调用</p>
      <p>3.常见场景是用来为数组去重</p>
    </div>
    <script>
      const s = new Set();
      // add方法在Ser对象尾部添加一个元素,可以链式调用
      s.add(1).add(2).add(3).add(4);
      //forEach遍历Set对象
      s.forEach((i) => console.log(i));
      console.log(s);
      //返回Set对象中的值的个数
      s.size;
      //判断对象中是否存在每一个特定的值
      s.has();
      //删除对象中的值
      s.delete();
      //清除
      s.clear();

      //数组去重
      const arr = [1, 1, 2, 4, 5, 4, 5, 3];
      const result = Array.from(new Set(arr)); // 方法一
      const result2 = [...new Set(arr)]; //方法二
    </script>
  </body>
</html>
